home *** CD-ROM | disk | FTP | other *** search
- /* runcon.f -- translated by f2c (version of 3 February 1990 3:36:42).
- You must link the resulting object file with the libraries:
- -lF77 -lI77 -lm -lc (in that order)
- */
-
- #include "f2c.h"
-
- /* Common Block Declarations */
-
- struct {
- integer ielmnt, isbckt, nsbckt, iunsat, nunsat, itemps, numtem, isens,
- nsens, ifour, nfour, ifield, icode, idelim, icolum, insize,
- junode, lsbkpt, numbkp, iorder, jmnode, iur, iuc, ilc, ilr,
- numoff, isr, nmoffc, iseq, iseq1, neqn, nodevs, ndiag, iswap,
- iequa, macins, lvnim1, lx0, lvn, lynl, lyu, lyl, lx1, lx2, lx3,
- lx4, lx5, lx6, lx7, ld0, ld1, ltd, imynl, imvn, lcvn, nsnod,
- nsmat, nsval, icnod, icmat, icval, loutpt, lpol, lzer, irswpf,
- irswpr, icswpf, icswpr, irpt, jcpt, irowno, jcolno, nttbr, nttar,
- lvntmp;
- } tabinf_;
-
- #define tabinf_1 tabinf_
-
- struct {
- integer maxtim, itime, icost;
- } cje_;
-
- #define cje_1 cje_
-
- struct {
- doublereal atime, aprog[3], adate, atitle[10], defl, defw, defad, defas,
- rstats[50];
- integer iwidth, lwidth, nopage;
- } miscel_;
-
- #define miscel_1 miscel_
-
- struct {
- integer locate[50], jelcnt[50], nunods, ncnods, numnod, nstop, nut, nlt,
- nxtrm, ndist, ntlin, ibr, numvs, numalt, numcyc;
- } cirdat_;
-
- #define cirdat_1 cirdat_
-
- struct {
- doublereal omega, time, delta, delold[7], ag[7], vt, xni, egfet, xmu,
- sfactr;
- integer mode, modedc, icalc, initf, method, iord, maxord, noncon, iterno,
- itemno, nosolv, modac, ipiv, ivmflg, ipostp, iscrch, iofile;
- } status_;
-
- #define status_1 status_
-
- struct {
- integer iprnta, iprntl, iprntm, iprntn, iprnto, limtim, limpts, lvlcod,
- lvltim, itl1, itl2, itl3, itl4, itl5, itl6, igoof, nogo, keof;
- } flags_;
-
- #define flags_1 flags_
-
- struct {
- doublereal twopi, xlog2, xlog10, root2, rad, boltz, charge, ctok, gmin,
- reltol, abstol, vntol, trtol, chgtol, eps0, epssil, epsox, pivtol,
- pivrel;
- } knstnt_;
-
- #define knstnt_1 knstnt_
-
- struct {
- doublereal tcstar[2], tcstop[2], tcincr[2];
- integer icvflg, itcelm[2], kssop, kinel, kidin, kovar, kidout;
- } dc_;
-
- #define dc_1 dc_
-
- struct {
- doublereal fstart, fstop, fincr, skw2, refprl, spw2;
- integer jacflg, idfreq, inoise, nosprt, nosout, nosin, idist, idprt;
- } ac_;
-
- #define ac_1 ac_
-
- struct {
- doublereal tstep, tstop, tstart, delmax, tdmax, forfre;
- integer jtrflg;
- } tran_;
-
- #define tran_1 tran_
-
- struct {
- doublereal xincr, string[15], xstart, yvar[8];
- integer itab[8], itype[8], ilogy[8], npoint, numout, kntr, numdgt;
- } outinf_;
-
- #define outinf_1 outinf_
-
- struct {
- integer idebug[20];
- } debug_;
-
- #define debug_1 debug_
-
- struct {
- doublereal value[200000];
- } blank_;
-
- #define blank_1 blank_
-
- /* Table of constant values */
-
- static integer c__2 = 2;
- static integer c__1 = 1;
- static integer c__7 = 7;
- static integer c__0 = 0;
- static integer c__5 = 5;
- static integer c__4 = 4;
- static integer c__3 = 3;
- static integer c__6 = 6;
-
- /*< subroutine runcon(id) >*/
- /* Subroutine */ int runcon_(id)
- integer *id;
- {
- /* Initialized data */
-
- static integer lsetop[5] = { 1,1,0,1,1 };
- static struct {
- char e_1[152];
- doublereal e_2;
- } equiv_76 = { {'r', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'c', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', 'l', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', 'k', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'g', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', 'e', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', 'f', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'h', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', 'v', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', 'i', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'd', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', 'q', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', 'j', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'm', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', 's', ' ', ' ', ' ', ' ', ' ', ' ',
- ' ', 'y', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 't', ' ', ' ',
- ' ', ' ', ' ', ' ', ' ', 't', 'e', 'm', 'p', ' ', ' ', ' ',
- ' ', 'x', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define aide ((doublereal *)&equiv_76)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_77 = { {'d', 'e', 'c', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define alsde (*(doublereal *)&equiv_77)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_78 = { {'o', 'c', 't', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define alsoc (*(doublereal *)&equiv_78)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_79 = { {'l', 'i', 'n', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define alsli (*(doublereal *)&equiv_79)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_80 = { {'t', 'r', 'a', 'p', ' ', ' ', ' ', ' '}, 0. };
-
- #define atrap (*(doublereal *)&equiv_80)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_81 = { {'g', 'e', 'a', 'r', ' ', ' ', ' ', ' '}, 0. };
-
- #define agear (*(doublereal *)&equiv_81)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_82 = { {'u', 'i', 'c', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define auic (*(doublereal *)&equiv_82)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_83 = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define ablnk (*(doublereal *)&equiv_83)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_84 = { {'i', 'n', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define ain (*(doublereal *)&equiv_84)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_85 = { {'o', 'u', 't', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define aout (*(doublereal *)&equiv_85)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_86 = { {'*', 'm', 'i', 's', 's', 'i', 'n', 'g'}, 0. };
-
- #define amiss (*(doublereal *)&equiv_86)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_87 = { {'m', 's', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define ams (*(doublereal *)&equiv_87)
-
- static integer minpts = 1;
- static struct {
- char e_1[40];
- doublereal e_2;
- } equiv_88 = { {'d', 'c', ' ', ' ', ' ', ' ', ' ', ' ', 't', 'r', ' ',
- ' ', ' ', ' ', ' ', ' ', 'a', 'c', ' ', ' ', ' ', ' ', ' ',
- ' ', 'n', 'o', ' ', ' ', ' ', ' ', ' ', ' ', 'd', 'i', ' ',
- ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define aopt ((doublereal *)&equiv_88)
-
- static struct {
- char e_1[272];
- doublereal e_2;
- } equiv_89 = { {'a', 'c', 'c', 't', ' ', ' ', ' ', ' ', 'l', 'i', 's',
- 't', ' ', ' ', ' ', ' ', 'n', 'o', 'm', 'o', 'd', ' ', ' ',
- ' ', 'n', 'o', 'd', 'e', ' ', ' ', ' ', ' ', 'o', 'p', 't',
- 's', ' ', ' ', ' ', ' ', 'i', 't', 'l', '1', ' ', ' ', ' ',
- ' ', 'i', 't', 'l', '2', ' ', ' ', ' ', ' ', 'i', 't', 'l',
- '3', ' ', ' ', ' ', ' ', 'i', 't', 'l', '4', ' ', ' ', ' ',
- ' ', 'i', 't', 'l', '5', ' ', ' ', ' ', ' ', 'i', 't', 'l',
- '6', ' ', ' ', ' ', ' ', 'l', 'i', 'm', 't', 'i', 'm', ' ',
- ' ', 'l', 'i', 'm', 'p', 't', 's', ' ', ' ', 'l', 'v', 'l',
- 'c', 'o', 'd', ' ', ' ', 'l', 'v', 'l', 't', 'i', 'm', ' ',
- ' ', 'g', 'm', 'i', 'n', ' ', ' ', ' ', ' ', 'r', 'e', 'l',
- 't', 'o', 'l', ' ', ' ', 'a', 'b', 's', 't', 'o', 'l', ' ',
- ' ', 'v', 'n', 't', 'o', 'l', ' ', ' ', ' ', 't', 'r', 't',
- 'o', 'l', ' ', ' ', ' ', 'c', 'h', 'g', 't', 'o', 'l', ' ',
- ' ', 't', 'n', 'o', 'm', ' ', ' ', ' ', ' ', 'n', 'u', 'm',
- 'd', 'g', 't', ' ', ' ', 'm', 'a', 'x', 'o', 'r', 'd', ' ',
- ' ', 'm', 'e', 't', 'h', 'o', 'd', ' ', ' ', 'n', 'o', 'p',
- 'a', 'g', 'e', ' ', ' ', 'm', 'u', ' ', ' ', ' ', ' ', ' ',
- ' ', 'c', 'p', 't', 'i', 'm', 'e', ' ', ' ', 'd', 'e', 'f',
- 'l', ' ', ' ', ' ', ' ', 'd', 'e', 'f', 'w', ' ', ' ', ' ',
- ' ', 'd', 'e', 'f', 'a', 'd', ' ', ' ', ' ', 'd', 'e', 'f',
- 'a', 's', ' ', ' ', ' ', 'p', 'i', 'v', 't', 'o', 'l', ' ',
- ' ', 'p', 'i', 'v', 'r', 'e', 'l', ' ', ' '}, 0. };
-
- #define aopts ((doublereal *)&equiv_89)
-
-
- /* Format strings */
- static char fmt_1131[] = "(\0020warning: missing parameter(s) ... analy\
- sis omitted\002/)";
- static char fmt_1241[] = "(\0020warning: unknown frequency function: \
- \002,a8,\002 ... analys\002,\002is omitted\002/)";
- static char fmt_1251[] = "(\0020warning: frequency parameters incorrect\
- ... analysis om\002,\002itted\002/)";
- static char fmt_1261[] = "(\0020warning: start freq > stop freq ... ana\
- lysis omitted\002/)";
- static char fmt_1431[] = "(\0020warning: time parameters incorrect ... \
- analysis omitted\002/)";
- static char fmt_1441[] = "(\0020warning: start time > stop time ... ana\
- lysis omitted\002/)";
- static char fmt_1541[] = "(\0020warning: illegal output variable ... an\
- alysis omitted\002/)";
- static char fmt_1611[] = "(\0020warning: voltage output unrecognizable \
- ... analysis omitted\002/)";
- static char fmt_1621[] = "(\0020warning: invalid input source ... analy\
- sis omitted\002/)";
- static char fmt_1661[] = "(\0020warning: distortion load resistor missi\
- ng ... analysis \002,\002omitted\002/)";
- static char fmt_1671[] = "(\0020warning: distortion parameters incorrec\
- t ... analysis o\002,\002mitted\002/)";
- static char fmt_1721[] = "(\0020warning: fourier parameters incorrect .\
- .. analysis omit\002,\002ted\002/)";
- static char fmt_1781[] = "(\0020warning: output variable unrecognizable\
- ... analysis om\002,\002mitted\002/)";
- static char fmt_2081[] = "(\0020warning: numdgt may not exceed\002,i2\
- ,\002; maximum value assumed\002/)";
- static char fmt_2501[] = "(\0020warning: unknown option: \002,a8,\002 \
- ... ignored\002/)";
- static char fmt_2511[] = "(\0020warning: illegal value specified for op\
- tion: \002,a8,\002 ... ignored\002/)";
- static char fmt_3951[] = "(\0020warning: unknown analysis mode: \002,a\
- 8,\002 ... line ignored\002/)";
- static char fmt_3971[] = "(\0020warning: unrecognizable output variable\
- on above line\002/)";
- static char fmt_4171[] = "(\0020warning: out-of-place non-numeric field\
- \002,a8,\002 skipped\002/)";
- static char fmt_4181[] = "(\0020warning: initial value missing for node\
- \002,i5,/)";
- static char fmt_4191[] = "(\0020warning: attempt to specify initial cond\
- ition for \002,\002ground ingnored\002,/)";
- static char fmt_4271[] = "(\0020warning: out-of-place non-numeric field\
- \002,a8,\002 skipped\002/)";
- static char fmt_4281[] = "(\0020warning: initial value missing for node\
- \002,i5,/)";
- static char fmt_4291[] = "(\0020warning: attempt to specify initial cond\
- ition for \002,\002ground ignored\002,/)";
- static char fmt_5931[] = "(\002 *debug*: runcon - idebug(\002,i2,\002) \
- set to \002,i10)";
-
- /* System generated locals */
- integer i_1;
- doublereal d_1, d_2;
-
- /* Builtin functions */
- integer s_wsfe(), e_wsfe();
- double exp(), log();
- integer do_fio();
-
- /* Local variables */
- static doublereal anam;
- static integer ifld;
- extern /* Subroutine */ int find_();
- static doublereal aval;
- static integer ival, inum;
- extern /* Subroutine */ int move_();
- static integer locs;
- static doublereal temp;
- static integer loct, locv;
- extern integer xxor_();
- extern /* Subroutine */ int getm4_();
- static integer i, n;
- #define dflts ((doublereal *)&miscel_1 + 15)
- #define iprnt ((integer *)&flags_1)
- static integer itemp, ktype, ntype, ltype, jtype, iprpl, lspot, index, ms;
-
- #define nodplc ((integer *)&blank_1)
- #define cvalue ((complex *)&blank_1)
- #define limits ((integer *)&flags_1 + 5)
- #define itrlim ((integer *)&flags_1 + 9)
- #define contol ((doublereal *)&knstnt_1 + 8)
- extern /* Subroutine */ int extmem_(), outdef_(), clrmem_();
- static integer ndigit, loc;
- static doublereal plimlo, plimhi;
- static integer nodnum;
- extern /* Subroutine */ int sizmem_();
- static integer nic;
-
- /* Fortran I/O blocks */
- static cilist io__30 = { 0, 0, 0, fmt_1131, 0 };
- static cilist io__31 = { 0, 0, 0, fmt_1241, 0 };
- static cilist io__32 = { 0, 0, 0, fmt_1251, 0 };
- static cilist io__33 = { 0, 0, 0, fmt_1261, 0 };
- static cilist io__34 = { 0, 0, 0, fmt_1431, 0 };
- static cilist io__35 = { 0, 0, 0, fmt_1441, 0 };
- static cilist io__37 = { 0, 0, 0, fmt_1131, 0 };
- static cilist io__38 = { 0, 0, 0, fmt_1541, 0 };
- static cilist io__40 = { 0, 0, 0, fmt_1611, 0 };
- static cilist io__41 = { 0, 0, 0, fmt_1621, 0 };
- static cilist io__42 = { 0, 0, 0, fmt_1661, 0 };
- static cilist io__43 = { 0, 0, 0, fmt_1671, 0 };
- static cilist io__46 = { 0, 0, 0, fmt_1721, 0 };
- static cilist io__47 = { 0, 0, 0, fmt_1781, 0 };
- static cilist io__51 = { 0, 0, 0, fmt_2081, 0 };
- static cilist io__54 = { 0, 0, 0, fmt_2501, 0 };
- static cilist io__55 = { 0, 0, 0, fmt_2511, 0 };
- static cilist io__63 = { 0, 0, 0, fmt_3951, 0 };
- static cilist io__64 = { 0, 0, 0, fmt_3971, 0 };
- static cilist io__67 = { 0, 0, 0, fmt_4171, 0 };
- static cilist io__68 = { 0, 0, 0, fmt_4181, 0 };
- static cilist io__69 = { 0, 0, 0, fmt_4191, 0 };
- static cilist io__70 = { 0, 0, 0, fmt_4271, 0 };
- static cilist io__71 = { 0, 0, 0, fmt_4281, 0 };
- static cilist io__72 = { 0, 0, 0, fmt_4291, 0 };
- static cilist io__75 = { 0, 0, 0, fmt_5931, 0 };
-
-
- /*< implicit double precision (a-h,o-z) >*/
-
- /* this routine processes run control cards. */
-
- /* spice version 2g.6 sccsid=tabinf 3/15/83 */
- /*< common /tabinf/ ielmnt,isbckt,nsbckt,iunsat,nunsat,itemps,numtem, >*/
- /*< 1 isens,nsens,ifour,nfour,ifield,icode,idelim,icolum,insize, >*/
- /*< 2 junode,lsbkpt,numbkp,iorder,jmnode,iur,iuc,ilc,ilr,numoff,isr, >*/
- /*< 3 nmoffc,iseq,iseq1,neqn,nodevs,ndiag,iswap,iequa,macins,lvnim1, >*/
- /*< 4 lx0,lvn,lynl,lyu,lyl,lx1,lx2,lx3,lx4,lx5,lx6,lx7,ld0,ld1,ltd, >*/
- /*< 5 imynl,imvn,lcvn,nsnod,nsmat,nsval,icnod,icmat,icval, >*/
- /*< 6 loutpt,lpol,lzer,irswpf,irswpr,icswpf,icswpr,irpt,jcpt, >*/
- /*< 7 irowno,jcolno,nttbr,nttar,lvntmp >*/
- /* spice version 2g.6 sccsid=cje 3/15/83 */
- /*< common /cje/ maxtim,itime,icost >*/
- /* spice version 2g.6 sccsid=miscel 3/15/83 */
- /*< common /miscel/ atime,aprog(3),adate,atitle(10),defl,defw,defad, >*/
- /*< 1 defas,rstats(50),iwidth,lwidth,nopage >*/
- /* spice version 2g.6 sccsid=cirdat 3/15/83 */
- /*< common /cirdat/ locate(50),jelcnt(50),nunods,ncnods,numnod,nstop, >*/
- /*< 1 nut,nlt,nxtrm,ndist,ntlin,ibr,numvs,numalt,numcyc >*/
- /* spice version 2g.6 sccsid=status 3/15/83 */
- /*< common /status/ omega,time,delta,delold(7),ag(7),vt,xni,egfet, >*/
- /*< 1 xmu,sfactr,mode,modedc,icalc,initf,method,iord,maxord,noncon, >*/
- /*< 2 iterno,itemno,nosolv,modac,ipiv,ivmflg,ipostp,iscrch,iofile >*/
- /* spice version 2g.6 sccsid=flags 3/15/83 */
- /*< common /flags/ iprnta,iprntl,iprntm,iprntn,iprnto,limtim,limpts, >*/
- /*< 1 lvlcod,lvltim,itl1,itl2,itl3,itl4,itl5,itl6,igoof,nogo,keof >*/
- /* spice version 2g.6 sccsid=knstnt 3/15/83 */
- /*< common /knstnt/ twopi,xlog2,xlog10,root2,rad,boltz,charge,ctok, >*/
- /*< 1 gmin,reltol,abstol,vntol,trtol,chgtol,eps0,epssil,epsox, >*/
- /*< 2 pivtol,pivrel >*/
- /* spice version 2g.6 sccsid=dc 3/15/83 */
- /*< common /dc/ tcstar(2),tcstop(2),tcincr(2),icvflg,itcelm(2),kssop, >*/
- /*< 1 kinel,kidin,kovar,kidout >*/
- /* spice version 2g.6 sccsid=ac 3/15/83 */
- /*< common /ac/ fstart,fstop,fincr,skw2,refprl,spw2,jacflg,idfreq, >*/
- /*< 1 inoise,nosprt,nosout,nosin,idist,idprt >*/
- /* spice version 2g.6 sccsid=tran 3/15/83 */
- /*< common /tran/ tstep,tstop,tstart,delmax,tdmax,forfre,jtrflg >*/
- /* spice version 2g.6 sccsid=outinf 3/15/83 */
- /*< common /outinf/ xincr,string(15),xstart,yvar(8),itab(8),itype(8), >*/
- /*< 1 ilogy(8),npoint,numout,kntr,numdgt >*/
- /* spice version 2g.6 sccsid=debug 3/15/83 */
- /*< common/debug/ idebug(20) >*/
- /* spice version 2g.6 sccsid=blank 3/15/83 */
- /*< common /blank/ value(200000) >*/
- /*< integer nodplc(64) >*/
- /*< complex cvalue(32) >*/
- /*< equivalence (value(1),nodplc(1),cvalue(1)) >*/
- /*< dimension iprnt(5),limits(4),itrlim(6),contol(6),dflts(4) >*/
- /*< equivalence (iprnt(1),iprnta),(limits(1),limtim),(itrlim(1),itl1), >*/
- /*< 1 (contol(1),gmin),(dflts(1),defl) >*/
-
-
- /*< integer xxor >*/
-
- /* print/plot keywords */
-
- /*< dimension aopt(5) >*/
- /*< dimension aopts(34),lsetop(5) >*/
- /*< dimension aide(20) >*/
- /*< data aopt / 2hdc, 2htr, 2hac, 2hno, 2hdi / >*/
-
- /* options card keywords */
-
- /*< data aopts / 6hacct , 6hlist , 6hnomod , 6hnode , 6hopts , >*/
- /*< 1 6hitl1 , 6hitl2 , 6hitl3 , 6hitl4 , 6hitl5 , >*/
- /*< 2 6hitl6 , 6hlimtim, 6hlimpts, 6hlvlcod, 6hlvltim, >*/
- /*< 3 6hgmin , 6hreltol, 6habstol, 6hvntol , 6htrtol , >*/
- /*< 4 6hchgtol, 6htnom , 6hnumdgt, 6hmaxord, 6hmethod, >*/
- /*< 5 6hnopage, 6hmu , 6hcptime, 6hdefl , 6hdefw , >*/
- /*< 6 6hdefad , 6hdefas , 6hpivtol, 6hpivrel / >*/
- /*< data lsetop / 1 ,1, 0, 1, 1 / >*/
-
-
- /*< data aide / 1hr,1hc,1hl,1hk,1hg,1he,1hf,1hh,1hv,1hi,1hd,1hq,1hj, >*/
- /*< 1 1hm,1hs,1hy,1ht,4htemp,1hx,0.0d0 / >*/
- /*< data alsde,alsoc,alsli / 3hdec, 3hoct, 3hlin / >*/
- /*< data atrap, agear, auic / 4htrap, 4hgear, 3huic / >*/
- /*< data ablnk, ain, aout / 1h , 2hin, 3hout / >*/
- /*< data amiss / 8h*missing / >*/
- /*< data ams / 2hms / >*/
- /*< data minpts / 1 / >*/
-
-
- /*< go to (1200,1100,1650,6000,6000,1700,6000,1600,1550,2000,3600, >*/
- /*< 1 3500,6000,1750,1300,1500,1800,4000,4100,4200,5900), id >*/
- switch (*id) {
- case 1: goto L1200;
- case 2: goto L1100;
- case 3: goto L1650;
- case 4: goto L6000;
- case 5: goto L6000;
- case 6: goto L1700;
- case 7: goto L6000;
- case 8: goto L1600;
- case 9: goto L1550;
- case 10: goto L2000;
- case 11: goto L3600;
- case 12: goto L3500;
- case 13: goto L6000;
- case 14: goto L1750;
- case 15: goto L1300;
- case 16: goto L1500;
- case 17: goto L1800;
- case 18: goto L4000;
- case 19: goto L4100;
- case 20: goto L4200;
- case 21: goto L5900;
- }
-
- /* dc transfer curves */
-
- /*< 1100 ifld=2 >*/
- L1100:
- ifld = 2;
- /*< icvflg=0 >*/
- dc_1.icvflg = 0;
- /*< inum=1 >*/
- inum = 1;
- /*< 1105 anam=value(ifield+ifld) >*/
- L1105:
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if(inum.gt.2) go to 6000 >*/
- if (inum > 2) {
- goto L6000;
- }
- /*< id=0 >*/
- *id = 0;
- /*< call move(anam,2,ablnk,1,7) >*/
- move_(&anam, &c__2, &ablnk, &c__1, &c__7);
- /*< if (anam.eq.aide(1)) id=1 >*/
- if (anam == aide[0]) {
- *id = 1;
- }
- /*< if (anam.eq.aide(9)) id=9 >*/
- if (anam == aide[8]) {
- *id = 9;
- }
- /*< if (anam.eq.aide(10)) id=10 >*/
- if (anam == aide[9]) {
- *id = 10;
- }
- /*< if (anam.eq.aide(17)) go to 1108 >*/
- if (anam == aide[16]) {
- goto L1108;
- }
- /*< if (id.eq.0) go to 1130 >*/
- if (*id == 0) {
- goto L1130;
- }
- /*< call find(value(ifield+ifld),id,itcelm(inum),0) >*/
- find_(&blank_1.value[tabinf_1.ifield + ifld - 1], id, &dc_1.itcelm[inum -
- 1], &c__0);
- /*< go to 1115 >*/
- goto L1115;
- /*< 1108 anam=value(ifield+ifld) >*/
- L1108:
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< call move(anam,5,ablnk,1,4) >*/
- move_(&anam, &c__5, &ablnk, &c__1, &c__4);
- /*< if (anam.ne.aide(18)) go to 1130 >*/
- if (anam != aide[17]) {
- goto L1130;
- }
- /*< id=18 >*/
- *id = 18;
- /*< call find(anam,id,itcelm(inum),1) >*/
- find_(&anam, id, &dc_1.itcelm[inum - 1], &c__1);
- /*< locs=nodplc(itcelm(inum)+1) >*/
- locs = nodplc[dc_1.itcelm[inum - 1]];
- /*< nodplc(itcelm(inum)+2)=0 >*/
- nodplc[dc_1.itcelm[inum - 1] + 1] = 0;
- /*< value(locs)=anam >*/
- blank_1.value[locs - 1] = anam;
- /*< value(locs+1)=value(itemps+1) >*/
- blank_1.value[locs] = blank_1.value[tabinf_1.itemps];
- /*< call extmem(itemps,2) >*/
- extmem_(&tabinf_1.itemps, &c__2);
- /*< value(itemps+2)=value(itemps+1) >*/
- blank_1.value[tabinf_1.itemps + 1] = blank_1.value[tabinf_1.itemps];
- /*< 1115 ifld=ifld+1 >*/
- L1115:
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1130 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1130;
- }
- /*< tcstar(inum)=value(ifield+ifld) >*/
- dc_1.tcstar[inum - 1] = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1130 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1130;
- }
- /*< tcstop(inum)=value(ifield+ifld) >*/
- dc_1.tcstop[inum - 1] = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1130 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1130;
- }
- /*< tcincr(inum)=value(ifield+ifld) >*/
- dc_1.tcincr[inum - 1] = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if (tcincr(inum).eq.0.0d0) go to 1130 >*/
- if (dc_1.tcincr[inum - 1] == 0.) {
- goto L1130;
- }
- /*< temp=(tcstop(inum)-tcstar(inum))/tcincr(inum) >*/
- temp = (dc_1.tcstop[inum - 1] - dc_1.tcstar[inum - 1]) / dc_1.tcincr[inum
- - 1];
- /*< if (temp.gt.0.0d0) go to 1110 >*/
- if (temp > 0.) {
- goto L1110;
- }
- /*< tcincr(inum)=-tcincr(inum) >*/
- dc_1.tcincr[inum - 1] = -dc_1.tcincr[inum - 1];
- /*< temp=-temp >*/
- temp = -temp;
- /*< 1110 itemp=idint(temp+0.5d0)+1 >*/
- L1110:
- itemp = (integer) (temp + .5) + 1;
- /*< itemp=max0(itemp,minpts) >*/
- itemp = max(itemp,minpts);
- /*< if(inum.eq.1) icvflg=itemp >*/
- if (inum == 1) {
- dc_1.icvflg = itemp;
- }
- /*< if(inum.eq.2) icvflg=itemp*icvflg >*/
- if (inum == 2) {
- dc_1.icvflg = itemp * dc_1.icvflg;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< inum=2 >*/
- inum = 2;
- /*< if(nodplc(icode+ifld)) 6000,1130,1105 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L1130;
- } else {
- goto L1105;
- }
- /*< 1130 write (iofile,1131) >*/
- L1130:
- io__30.ciunit = status_1.iofile;
- s_wsfe(&io__30);
- e_wsfe();
- /*< icvflg=0 >*/
- dc_1.icvflg = 0;
- /*< 1131 format('0warning: missing parameter(s) ... analysis omitted'/) >*/
- /*< go to 6000 >*/
- goto L6000;
-
- /* frequency specification */
-
- /*< 1200 ifld=2 >*/
- L1200:
- ifld = 2;
- /*< if (nodplc(icode+2)) 1250,1250,1210 >*/
- if (nodplc[tabinf_1.icode + 1] <= 0) {
- goto L1250;
- } else {
- goto L1210;
- }
- /*< 1210 id=0 >*/
- L1210:
- *id = 0;
- /*< if (value(ifield+ifld).eq.alsde) id=1 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] == alsde) {
- *id = 1;
- }
- /*< if (value(ifield+ifld).eq.alsoc) id=2 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] == alsoc) {
- *id = 2;
- }
- /*< if (value(ifield+ifld).eq.alsli) id=3 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] == alsli) {
- *id = 3;
- }
- /*< if (id.eq.0) go to 1240 >*/
- if (*id == 0) {
- goto L1240;
- }
- /*< idfreq=id >*/
- ac_1.idfreq = *id;
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1250 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1250;
- }
- /*< if (value(ifield+ifld).le.0.0d0) go to 1250 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= 0.) {
- goto L1250;
- }
- /*< fincr=value(ifield+ifld) >*/
- ac_1.fincr = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1250 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1250;
- }
- /*< if (value(ifield+ifld).le.0.0d0) go to 1250 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= 0.) {
- goto L1250;
- }
- /*< fstart=value(ifield+ifld) >*/
- ac_1.fstart = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1250 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1250;
- }
- /*< if (value(ifield+ifld).le.0.0d0) go to 1250 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= 0.) {
- goto L1250;
- }
- /*< fstop=value(ifield+ifld) >*/
- ac_1.fstop = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if (fstart.gt.fstop) go to 1260 >*/
- if (ac_1.fstart > ac_1.fstop) {
- goto L1260;
- }
- /*< jacflg=fincr >*/
- ac_1.jacflg = (integer) ac_1.fincr;
- /*< if (idfreq-2) 1215,1220,1235 >*/
- if ((i_1 = ac_1.idfreq - 2) < 0) {
- goto L1215;
- } else if (i_1 == 0) {
- goto L1220;
- } else {
- goto L1235;
- }
- /*< 1215 fincr=dexp(xlog10/fincr) >*/
- L1215:
- ac_1.fincr = exp(knstnt_1.xlog10 / ac_1.fincr);
- /*< go to 1230 >*/
- goto L1230;
- /*< 1220 fincr=dexp(xlog2/fincr) >*/
- L1220:
- ac_1.fincr = exp(knstnt_1.xlog2 / ac_1.fincr);
- /*< 1230 temp=dlog(fstop/fstart)/dlog(fincr) >*/
- L1230:
- temp = log(ac_1.fstop / ac_1.fstart) / log(ac_1.fincr);
- /*< jacflg=idint(temp+0.999d0)+1 >*/
- ac_1.jacflg = (integer) (temp + .999) + 1;
- /*< 1235 jacflg=max0(jacflg,minpts) >*/
- L1235:
- ac_1.jacflg = max(ac_1.jacflg,minpts);
- /*< if (idfreq.ne.3) go to 6000 >*/
- if (ac_1.idfreq != 3) {
- goto L6000;
- }
- /*< fincr=(fstop-fstart)/dble(max0(jacflg-1,1)) >*/
- /* Computing MAX */
- i_1 = ac_1.jacflg - 1;
- ac_1.fincr = (ac_1.fstop - ac_1.fstart) / (doublereal) max(1,i_1);
- /*< go to 6000 >*/
- goto L6000;
- /*< 1240 write (iofile,1241) value(ifield+ifld) >*/
- L1240:
- io__31.ciunit = status_1.iofile;
- s_wsfe(&io__31);
- do_fio(&c__1, (char *)&blank_1.value[tabinf_1.ifield + ifld - 1], (ftnlen)
- sizeof(doublereal));
- e_wsfe();
- /*< 1241 format('0warning: unknown frequency function: ',a8,' ... analys' >*/
- /*< 1 ,'is omitted'/) >*/
- /*< go to 6000 >*/
- goto L6000;
- /*< 1250 write (iofile,1251) >*/
- L1250:
- io__32.ciunit = status_1.iofile;
- s_wsfe(&io__32);
- e_wsfe();
- /*< 1251 format('0warning: frequency parameters incorrect ... analysis om' >*/
- /*< 1 ,'itted'/) >*/
- /*< go to 6000 >*/
- goto L6000;
- /*< 1260 write (iofile,1261) >*/
- L1260:
- io__33.ciunit = status_1.iofile;
- s_wsfe(&io__33);
- e_wsfe();
- /*< 1261 format('0warning: start freq > stop freq ... analysis omitted'/) >*/
- /*< go to 6000 >*/
- goto L6000;
-
- /* time specification */
-
- /*< 1300 ifld=2 >*/
- L1300:
- ifld = 2;
- /*< if (nodplc(icode+ifld).ne.0) go to 1430 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1430;
- }
- /*< if (value(ifield+ifld).le.0.0d0) go to 1430 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= 0.) {
- goto L1430;
- }
- /*< tstep=value(ifield+ifld) >*/
- tran_1.tstep = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1430 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1430;
- }
- /*< if (value(ifield+ifld).le.0.0d0) go to 1430 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= 0.) {
- goto L1430;
- }
- /*< tstop=value(ifield+ifld) >*/
- tran_1.tstop = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< tstart=0.0d0 >*/
- tran_1.tstart = 0.;
- /*< delmax=tstop/50.0d0 >*/
- tran_1.delmax = tran_1.tstop / 50.;
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1310 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1310;
- }
- /*< if (value(ifield+ifld).lt.0.0d0) go to 1430 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] < 0.) {
- goto L1430;
- }
- /*< tstart=value(ifield+ifld) >*/
- tran_1.tstart = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< delmax=(tstop-tstart)/50.0d0 >*/
- tran_1.delmax = (tran_1.tstop - tran_1.tstart) / 50.;
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1310 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1310;
- }
- /*< if (value(ifield+ifld).le.0.0d0) go to 1430 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= 0.) {
- goto L1430;
- }
- /*< delmax=value(ifield+ifld) >*/
- tran_1.delmax = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< 1310 if (nodplc(icode+ifld).ne.1) go to 1320 >*/
- L1310:
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L1320;
- }
- /*< if (value(ifield+ifld).ne.auic) go to 1320 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] != auic) {
- goto L1320;
- }
- /*< nosolv=1 >*/
- status_1.nosolv = 1;
- /*< 1320 if (tstart.gt.tstop) go to 1440 >*/
- L1320:
- if (tran_1.tstart > tran_1.tstop) {
- goto L1440;
- }
- /*< if (tstep.gt.tstop) go to 1430 >*/
- if (tran_1.tstep > tran_1.tstop) {
- goto L1430;
- }
- /*< jtrflg=idint((tstop-tstart)/tstep+0.5d0)+1 >*/
- tran_1.jtrflg = (integer) ((tran_1.tstop - tran_1.tstart) / tran_1.tstep
- + .5) + 1;
- /*< jtrflg=max0(jtrflg,minpts) >*/
- tran_1.jtrflg = max(tran_1.jtrflg,minpts);
- /*< go to 6000 >*/
- goto L6000;
- /*< 1430 write (iofile,1431) >*/
- L1430:
- io__34.ciunit = status_1.iofile;
- s_wsfe(&io__34);
- e_wsfe();
- /*< 1431 format('0warning: time parameters incorrect ... analysis omitted' >*/
- /*< 1 /) >*/
- /*< go to 6000 >*/
- goto L6000;
- /*< 1440 write (iofile,1441) >*/
- L1440:
- io__35.ciunit = status_1.iofile;
- s_wsfe(&io__35);
- e_wsfe();
- /*< 1441 format('0warning: start time > stop time ... analysis omitted'/) >*/
- /*< go to 6000 >*/
- goto L6000;
-
- /* transfer function */
-
- /*< 1500 kssop=1 >*/
- L1500:
- dc_1.kssop = 1;
- /*< ifld=2 >*/
- ifld = 2;
- /*< if (nodplc(icode+ifld).ne.1) go to 1530 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L1530;
- }
- /*< call outdef(ifld,1,kovar,ktype) >*/
- outdef_(&ifld, &c__1, &dc_1.kovar, &ktype);
- /*< if (igoof.ne.0) go to 1530 >*/
- if (flags_1.igoof != 0) {
- goto L1530;
- }
- /*< if (ktype.ne.1) go to 1540 >*/
- if (ktype != 1) {
- goto L1540;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.1) go to 1530 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L1530;
- }
- /*< anam=value(ifield+ifld) >*/
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< call move(anam,2,ablnk,1,7) >*/
- move_(&anam, &c__2, &ablnk, &c__1, &c__7);
- /*< id=0 >*/
- *id = 0;
- /*< if (anam.eq.aide(9)) id=9 >*/
- if (anam == aide[8]) {
- *id = 9;
- }
- /*< if (anam.eq.aide(10)) id=10 >*/
- if (anam == aide[9]) {
- *id = 10;
- }
- /*< if (id.eq.0) go to 1530 >*/
- if (*id == 0) {
- goto L1530;
- }
- /*< call find(value(ifield+ifld),id,kinel,0) >*/
- find_(&blank_1.value[tabinf_1.ifield + ifld - 1], id, &dc_1.kinel, &c__0);
-
- /*< kidin=id >*/
- dc_1.kidin = *id;
- /*< go to 6000 >*/
- goto L6000;
- /*< 1530 kovar=0 >*/
- L1530:
- dc_1.kovar = 0;
- /*< kinel=0 >*/
- dc_1.kinel = 0;
- /*< write (iofile,1131) >*/
- io__37.ciunit = status_1.iofile;
- s_wsfe(&io__37);
- e_wsfe();
- /*< igoof=0 >*/
- flags_1.igoof = 0;
- /*< go to 6000 >*/
- goto L6000;
- /*< 1540 kovar=0 >*/
- L1540:
- dc_1.kovar = 0;
- /*< kinel=0 >*/
- dc_1.kinel = 0;
- /*< write (iofile,1541) >*/
- io__38.ciunit = status_1.iofile;
- s_wsfe(&io__38);
- e_wsfe();
- /*< 1541 format('0warning: illegal output variable ... analysis omitted'/) >*/
- /*< igoof=0 >*/
- flags_1.igoof = 0;
- /*< go to 6000 >*/
- goto L6000;
-
- /* operating point */
-
- /*< 1550 kssop=1 >*/
- L1550:
- dc_1.kssop = 1;
- /*< go to 6000 >*/
- goto L6000;
-
- /* noise analysis */
-
- /*< 1600 ifld=2 >*/
- L1600:
- ifld = 2;
- /*< if (nodplc(icode+ifld).ne.1) go to 1610 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L1610;
- }
- /*< call outdef(ifld,2,nosout,ntype) >*/
- outdef_(&ifld, &c__2, &ac_1.nosout, &ntype);
- /*< if (igoof.ne.0) go to 1610 >*/
- if (flags_1.igoof != 0) {
- goto L1610;
- }
- /*< if (ntype.ne.1) go to 1610 >*/
- if (ntype != 1) {
- goto L1610;
- }
- /*< if (nodplc(nosout+5).ne.0) go to 1610 >*/
- if (nodplc[ac_1.nosout + 4] != 0) {
- goto L1610;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.1) go to 1620 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L1620;
- }
- /*< anam=value(ifield+ifld) >*/
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< call move(anam,2,ablnk,1,7) >*/
- move_(&anam, &c__2, &ablnk, &c__1, &c__7);
- /*< id=0 >*/
- *id = 0;
- /*< if (anam.eq.aide(9)) id=9 >*/
- if (anam == aide[8]) {
- *id = 9;
- }
- /*< if (anam.eq.aide(10)) id=10 >*/
- if (anam == aide[9]) {
- *id = 10;
- }
- /*< if (id.eq.0) go to 1620 >*/
- if (*id == 0) {
- goto L1620;
- }
- /*< call find(value(ifield+ifld),id,nosin,0) >*/
- find_(&blank_1.value[tabinf_1.ifield + ifld - 1], id, &ac_1.nosin, &c__0);
-
- /*< nosprt=0 >*/
- ac_1.nosprt = 0;
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 1605 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1605;
- }
- /*< nosprt=dmax1(0.0d0,value(ifield+ifld)) >*/
- /* Computing MAX */
- d_1 = 0., d_2 = blank_1.value[tabinf_1.ifield + ifld - 1];
- ac_1.nosprt = (integer) max(d_2,d_1);
- /*< 1605 inoise=1 >*/
- L1605:
- ac_1.inoise = 1;
- /*< go to 6000 >*/
- goto L6000;
- /*< 1610 write (iofile,1611) >*/
- L1610:
- io__40.ciunit = status_1.iofile;
- s_wsfe(&io__40);
- e_wsfe();
- /*< 1611 format('0warning: voltage output unrecognizable ... analysis omit >*/
- /*< 1ted'/) >*/
- /*< igoof=0 >*/
- flags_1.igoof = 0;
- /*< go to 6000 >*/
- goto L6000;
- /*< 1620 write (iofile,1621) >*/
- L1620:
- io__41.ciunit = status_1.iofile;
- s_wsfe(&io__41);
- e_wsfe();
- /*< 1621 format('0warning: invalid input source ... analysis omitted'/) >*/
- /*< igoof=0 >*/
- flags_1.igoof = 0;
- /*< go to 6000 >*/
- goto L6000;
-
- /* distortion analysis */
-
- /*< 1650 ifld=2 >*/
- L1650:
- ifld = 2;
- /*< if (nodplc(icode+ifld).ne.1) go to 1660 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L1660;
- }
- /*< anam=value(ifield+ifld) >*/
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< call move(anam,2,ablnk,1,7) >*/
- move_(&anam, &c__2, &ablnk, &c__1, &c__7);
- /*< if (anam.ne.aide(1)) go to 1660 >*/
- if (anam != aide[0]) {
- goto L1660;
- }
- /*< call find(value(ifield+ifld),1,idist,0) >*/
- find_(&blank_1.value[tabinf_1.ifield + ifld - 1], &c__1, &ac_1.idist, &
- c__0);
- /*< idprt=0 >*/
- ac_1.idprt = 0;
- /*< skw2=0.9d0 >*/
- ac_1.skw2 = .9;
- /*< refprl=1.0d-3 >*/
- ac_1.refprl = .001;
- /*< spw2=1.0d0 >*/
- ac_1.spw2 = 1.;
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 6000 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L6000;
- }
- /*< idprt=value(ifield+ifld) >*/
- ac_1.idprt = (integer) blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< idprt=max0(idprt,0) >*/
- ac_1.idprt = max(ac_1.idprt,0);
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 6000 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L6000;
- }
- /*< if (value(ifield+ifld).le.0.001d0) go to 1670 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= .001) {
- goto L1670;
- }
- /*< if (value(ifield+ifld).gt.0.999d0) go to 1670 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] > .999) {
- goto L1670;
- }
- /*< skw2=value(ifield+ifld) >*/
- ac_1.skw2 = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 6000 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L6000;
- }
- /*< if (value(ifield+ifld).lt.1.0d-10) go to 1670 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] < 1e-10) {
- goto L1670;
- }
- /*< refprl=value(ifield+ifld) >*/
- ac_1.refprl = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 6000 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L6000;
- }
- /*< if (value(ifield+ifld).lt.0.001d0) go to 1670 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] < .001) {
- goto L1670;
- }
- /*< spw2=value(ifield+ifld) >*/
- ac_1.spw2 = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< go to 6000 >*/
- goto L6000;
- /*< 1660 write (iofile,1661) >*/
- L1660:
- io__42.ciunit = status_1.iofile;
- s_wsfe(&io__42);
- e_wsfe();
- /*< 1661 format('0warning: distortion load resistor missing ... analysis ' >*/
- /*< 1 ,'omitted'/) >*/
- /*< go to 6000 >*/
- goto L6000;
- /*< 1670 idist=0 >*/
- L1670:
- ac_1.idist = 0;
- /*< write (iofile,1671) >*/
- io__43.ciunit = status_1.iofile;
- s_wsfe(&io__43);
- e_wsfe();
- /*< 1671 format('0warning: distortion parameters incorrect ... analysis o' >*/
- /*< 1 ,'mitted'/) >*/
- /*< go to 6000 >*/
- goto L6000;
-
- /* fourier analysis */
-
- /*< 1700 ifld=2 >*/
- L1700:
- ifld = 2;
- /*< if (nodplc(icode+ifld).ne.0) go to 1720 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L1720;
- }
- /*< if (value(ifield+ifld).le.0.0d0) go to 1720 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= 0.) {
- goto L1720;
- }
- /*< forfre=value(ifield+ifld) >*/
- tran_1.forfre = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< 1705 ifld=ifld+1 >*/
- L1705:
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.1) go to 1710 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L1710;
- }
- /*< call outdef(ifld,2,loct,ltype) >*/
- outdef_(&ifld, &c__2, &loct, <ype);
- /*< if (igoof.ne.0) go to 1720 >*/
- if (flags_1.igoof != 0) {
- goto L1720;
- }
- /*< if (ltype.ne.1) go to 1720 >*/
- if (ltype != 1) {
- goto L1720;
- }
- /*< call extmem(ifour,1) >*/
- extmem_(&tabinf_1.ifour, &c__1);
- /*< nfour=nfour+1 >*/
- ++tabinf_1.nfour;
- /*< nodplc(ifour+nfour)=loct >*/
- nodplc[tabinf_1.ifour + tabinf_1.nfour - 1] = loct;
- /*< go to 1705 >*/
- goto L1705;
- /*< 1710 if (nfour.ge.1) go to 6000 >*/
- L1710:
- if (tabinf_1.nfour >= 1) {
- goto L6000;
- }
- /*< 1720 write (iofile,1721) >*/
- L1720:
- io__46.ciunit = status_1.iofile;
- s_wsfe(&io__46);
- e_wsfe();
- /*< 1721 format('0warning: fourier parameters incorrect ... analysis omit' >*/
- /*< 1 ,'ted'/) >*/
- /*< igoof=0 >*/
- flags_1.igoof = 0;
- /*< nfour=0 >*/
- tabinf_1.nfour = 0;
- /*< call clrmem(ifour) >*/
- clrmem_(&tabinf_1.ifour);
- /*< call getm4(ifour,0) >*/
- getm4_(&tabinf_1.ifour, &c__0);
- /*< go to 6000 >*/
- goto L6000;
-
- /* sensitivity analysis */
-
- /*< 1750 kssop=1 >*/
- L1750:
- dc_1.kssop = 1;
- /*< ifld=1 >*/
- ifld = 1;
- /*< 1760 ifld=ifld+1 >*/
- L1760:
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.1) go to 6000 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L6000;
- }
- /*< call outdef(ifld,1,loct,ltype) >*/
- outdef_(&ifld, &c__1, &loct, <ype);
- /*< if (igoof.ne.0) go to 1780 >*/
- if (flags_1.igoof != 0) {
- goto L1780;
- }
- /*< if (ltype.ne.1) go to 1780 >*/
- if (ltype != 1) {
- goto L1780;
- }
- /*< call extmem(isens,1) >*/
- extmem_(&tabinf_1.isens, &c__1);
- /*< nsens=nsens+1 >*/
- ++tabinf_1.nsens;
- /*< nodplc(isens+nsens)=loct >*/
- nodplc[tabinf_1.isens + tabinf_1.nsens - 1] = loct;
- /*< go to 1760 >*/
- goto L1760;
- /*< 1780 write (iofile,1781) >*/
- L1780:
- io__47.ciunit = status_1.iofile;
- s_wsfe(&io__47);
- e_wsfe();
- /*< 1781 format('0warning: output variable unrecognizable ... analysis om' >*/
- /*< 1 ,'mitted'/) >*/
- /*< igoof=0 >*/
- flags_1.igoof = 0;
- /*< nsens=0 >*/
- tabinf_1.nsens = 0;
- /*< call clrmem(isens) >*/
- clrmem_(&tabinf_1.isens);
- /*< call getm4(isens,0) >*/
- getm4_(&tabinf_1.isens, &c__0);
- /*< go to 6000 >*/
- goto L6000;
-
- /* temperature variation */
-
- /*< 1800 ifld=1 >*/
- L1800:
- ifld = 1;
- /*< 1810 ifld=ifld+1 >*/
- L1810:
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.0) go to 6000 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L6000;
- }
- /*< if (value(ifield+ifld).le.-223.0d0) go to 1810 >*/
- if (blank_1.value[tabinf_1.ifield + ifld - 1] <= -223.) {
- goto L1810;
- }
- /*< call extmem(itemps,1) >*/
- extmem_(&tabinf_1.itemps, &c__1);
- /*< numtem=numtem+1 >*/
- ++tabinf_1.numtem;
- /*< value(itemps+numtem)=value(ifield+ifld) >*/
- blank_1.value[tabinf_1.itemps + tabinf_1.numtem - 1] = blank_1.value[
- tabinf_1.ifield + ifld - 1];
- /*< go to 1810 >*/
- goto L1810;
-
- /* options card */
-
- /*< 2000 ifld=1 >*/
- L2000:
- ifld = 1;
- /*< 2010 ifld=ifld+1 >*/
- L2010:
- ++ifld;
- /*< 2020 if (nodplc(icode+ifld)) 6000,2010,2030 >*/
- L2020:
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L2010;
- } else {
- goto L2030;
- }
- /*< 2030 anam=value(ifield+ifld) >*/
- L2030:
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< do 2040 i=1,5 >*/
- for (i = 1; i <= 5; ++i) {
- /*< if (anam.ne.aopts(i)) go to 2040 >*/
- if (anam != aopts[i - 1]) {
- goto L2040;
- }
- /*< iprnt(i)=lsetop(i) >*/
- iprnt[i - 1] = lsetop[i - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if(nodplc(icode+ifld).ne.0) go to 2020 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 0) {
- goto L2020;
- }
- /*< iprnt(i)=value(ifield+ifld) >*/
- iprnt[i - 1] = (integer) blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< go to 2010 >*/
- goto L2010;
- /*< 2040 continue >*/
- L2040:
- ;}
- /*< if (anam.eq.aopts(25)) go to 2110 >*/
- if (anam == aopts[24]) {
- goto L2110;
- }
- /*< if (anam.eq.aopts(26)) go to 2120 >*/
- if (anam == aopts[25]) {
- goto L2120;
- }
- /*< if (anam.eq.aopts(27)) go to 2130 >*/
- if (anam == aopts[26]) {
- goto L2130;
- }
- /*< if (anam.eq.aopts(28)) go to 2150 >*/
- if (anam == aopts[27]) {
- goto L2150;
- }
- /*< if (anam.eq.aopts(33)) go to 2200 >*/
- if (anam == aopts[32]) {
- goto L2200;
- }
- /*< if (anam.eq.aopts(34)) go to 2250 >*/
- if (anam == aopts[33]) {
- goto L2250;
- }
- /*< if (nodplc(icode+ifld+1).ne.0) go to 2510 >*/
- if (nodplc[tabinf_1.icode + ifld] != 0) {
- goto L2510;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< aval=value(ifield+ifld) >*/
- aval = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< do 2050 i=6,11 >*/
- for (i = 6; i <= 11; ++i) {
- /*< if (anam.ne.aopts(i)) go to 2050 >*/
- if (anam != aopts[i - 1]) {
- goto L2050;
- }
- /*< if(aval.le.0.0d0.and.i.ne.10) go to 2510 >*/
- if (aval <= 0. && i != 10) {
- goto L2510;
- }
- /*< itrlim(i-5)=aval >*/
- itrlim[i - 6] = (integer) aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2050 continue >*/
- L2050:
- ;}
- /*< if (aval.le.0.0d0) go to 2510 >*/
- if (aval <= 0.) {
- goto L2510;
- }
- /*< do 2060 i=12,15 >*/
- for (i = 12; i <= 15; ++i) {
- /*< if (anam.ne.aopts(i)) go to 2060 >*/
- if (anam != aopts[i - 1]) {
- goto L2060;
- }
- /*< limits(i-11)=aval >*/
- limits[i - 12] = (integer) aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2060 continue >*/
- L2060:
- ;}
- /*< do 2070 i=16,21 >*/
- for (i = 16; i <= 21; ++i) {
- /*< if (anam.ne.aopts(i)) go to 2070 >*/
- if (anam != aopts[i - 1]) {
- goto L2070;
- }
- /*< contol(i-15)=aval >*/
- contol[i - 16] = aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2070 continue >*/
- L2070:
- ;}
- /*< do 2075 i=29,32 >*/
- for (i = 29; i <= 32; ++i) {
- /*< if(anam.ne.aopts(i)) go to 2075 >*/
- if (anam != aopts[i - 1]) {
- goto L2075;
- }
- /*< dflts(i-28)=aval >*/
- dflts[i - 29] = aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2075 continue >*/
- L2075:
- ;}
- /*< if (anam.ne.aopts(22)) go to 2080 >*/
- if (anam != aopts[21]) {
- goto L2080;
- }
- /*< if (aval.lt.-223.0d0) go to 2510 >*/
- if (aval < -223.) {
- goto L2510;
- }
- /*< value(itemps+1)=aval >*/
- blank_1.value[tabinf_1.itemps] = aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2080 if (anam.ne.aopts(23)) go to 2100 >*/
- L2080:
- if (anam != aopts[22]) {
- goto L2100;
- }
- /*< ndigit=aval >*/
- ndigit = (integer) aval;
- /*< if (ndigit.le.7) go to 2090 >*/
- if (ndigit <= 7) {
- goto L2090;
- }
- /*< ndigit=7 >*/
- ndigit = 7;
- /*< write (iofile,2081) ndigit >*/
- io__51.ciunit = status_1.iofile;
- s_wsfe(&io__51);
- do_fio(&c__1, (char *)&ndigit, (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 2081 format('0warning: numdgt may not exceed',i2, >*/
- /*< 1 '; maximum value assumed'/) >*/
- /*< 2090 numdgt=ndigit >*/
- L2090:
- outinf_1.numdgt = ndigit;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2100 if (anam.ne.aopts(24)) go to 2500 >*/
- L2100:
- if (anam != aopts[23]) {
- goto L2500;
- }
- /*< n=aval >*/
- n = (integer) aval;
- /*< if ((n.le.1).or.(n.ge.7)) go to 2510 >*/
- if (n <= 1 || n >= 7) {
- goto L2510;
- }
- /*< maxord=n >*/
- status_1.maxord = n;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2110 if (nodplc(icode+ifld+1).ne.1) go to 2510 >*/
- L2110:
- if (nodplc[tabinf_1.icode + ifld] != 1) {
- goto L2510;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< anam=value(ifield+ifld) >*/
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< call move(anam,5,ablnk,1,4) >*/
- move_(&anam, &c__5, &ablnk, &c__1, &c__4);
- /*< jtype=0 >*/
- jtype = 0;
- /*< if (anam.eq.atrap) jtype=1 >*/
- if (anam == atrap) {
- jtype = 1;
- }
- /*< if (anam.eq.agear) jtype=2 >*/
- if (anam == agear) {
- jtype = 2;
- }
- /*< if (jtype.eq.0) go to 2510 >*/
- if (jtype == 0) {
- goto L2510;
- }
- /*< method=jtype >*/
- status_1.method = jtype;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2120 nopage=1 >*/
- L2120:
- miscel_1.nopage = 1;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2130 ifld=ifld+1 >*/
- L2130:
- ++ifld;
- /*< if(nodplc(icode+ifld)) 6000,2140,2030 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L2140;
- } else {
- goto L2030;
- }
- /*< 2140 aval=value(ifield+ifld) >*/
- L2140:
- aval = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if(aval.lt.0.0d0.or.aval.gt.0.500001d0) go to 2510 >*/
- if (aval < 0. || aval > .500001) {
- goto L2510;
- }
- /*< xmu=aval >*/
- status_1.xmu = aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2150 ifld=ifld+1 >*/
- L2150:
- ++ifld;
- /*< if(nodplc(icode+ifld)) 6000,2160,2030 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L2160;
- } else {
- goto L2030;
- }
- /*< 2160 aval=value(ifield+ifld) >*/
- L2160:
- aval = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< maxtim=aval >*/
- cje_1.maxtim = (integer) aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2200 ifld=ifld+1 >*/
- L2200:
- ++ifld;
- /*< if (nodplc(icode+ifld)) 6000,2210,2030 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L2210;
- } else {
- goto L2030;
- }
- /*< 2210 aval=value(ifield+ifld) >*/
- L2210:
- aval = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if (aval.gt.1.0d0) go to 2510 >*/
- if (aval > 1.) {
- goto L2510;
- }
- /*< pivtol=aval >*/
- knstnt_1.pivtol = aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2250 ifld=ifld+1 >*/
- L2250:
- ++ifld;
- /*< if (nodplc(icode+ifld)) 6000,2260,2030 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L2260;
- } else {
- goto L2030;
- }
- /*< 2260 aval=value(ifield+ifld) >*/
- L2260:
- aval = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if (aval.gt.1.0d0) go to 2510 >*/
- if (aval > 1.) {
- goto L2510;
- }
- /*< pivrel=aval >*/
- knstnt_1.pivrel = aval;
- /*< go to 2010 >*/
- goto L2010;
- /*< 2500 write (iofile,2501) anam >*/
- L2500:
- io__54.ciunit = status_1.iofile;
- s_wsfe(&io__54);
- do_fio(&c__1, (char *)&anam, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 2501 format('0warning: unknown option: ',a8,' ... ignored'/) >*/
- /*< go to 2010 >*/
- goto L2010;
- /*< 2510 write (iofile,2511) anam >*/
- L2510:
- io__55.ciunit = status_1.iofile;
- s_wsfe(&io__55);
- do_fio(&c__1, (char *)&anam, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 2511 format('0warning: illegal value specified for option: ',a8,' ... >*/
- /*< 1 ignored'/) >*/
- /*< go to 2010 >*/
- goto L2010;
-
- /* print card */
-
- /*< 3500 iprpl=0 >*/
- L3500:
- iprpl = 0;
- /*< go to 3610 >*/
- goto L3610;
-
- /* plot (and print) card */
-
- /*< 3600 iprpl=1 >*/
- L3600:
- iprpl = 1;
- /*< 3610 ifld=2 >*/
- L3610:
- ifld = 2;
- /*< 3613 anam=amiss >*/
- /* L3613: */
- anam = amiss;
- /*< if (nodplc(icode+ifld).ne.1) go to 3950 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L3950;
- }
- /*< anam=value(ifield+ifld) >*/
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ms=0 >*/
- ms = 0;
- /*< if (xxor(anam,ams).ne.0) go to 3615 >*/
- if (xxor_(&anam, &ams) != 0) {
- goto L3615;
- }
- /*< ms=1 >*/
- ms = 1;
- /*< ifld=3 >*/
- ifld = 3;
- /*< if (nodplc(icode+ifld).ne.1) go to 3970 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L3970;
- }
- /*< anam=value(ifield+ifld) >*/
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< 3615 call move(anam,3,ablnk,1,6) >*/
- L3615:
- move_(&anam, &c__3, &ablnk, &c__1, &c__6);
- /*< do 3620 i=1,5 >*/
- for (i = 1; i <= 5; ++i) {
- /*< if (anam.ne.aopt(i)) go to 3620 >*/
- if (anam != aopt[i - 1]) {
- goto L3620;
- }
- /*< ktype=i >*/
- ktype = i;
- /*< go to 3630 >*/
- goto L3630;
- /*< 3620 continue >*/
- L3620:
- ;}
- /*< go to 3950 >*/
- goto L3950;
- /*< 3630 id=30+5*iprpl+ktype >*/
- L3630:
- *id = iprpl * 5 + 30 + ktype;
- /*< call find(dble(jelcnt(id)),id,loc,1) >*/
- d_1 = (doublereal) cirdat_1.jelcnt[*id - 1];
- find_(&d_1, id, &loc, &c__1);
- /*< nodplc(loc+2)=ktype >*/
- nodplc[loc + 1] = ktype;
- /*< if (ms.eq.0) go to 3635 >*/
- if (ms == 0) {
- goto L3635;
- }
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< value(locv)=0.0d0 >*/
- blank_1.value[locv - 1] = 0.;
- /*< 3635 numout=0 >*/
- L3635:
- outinf_1.numout = 0;
- /*< 3640 ifld=ifld+1 >*/
- L3640:
- ++ifld;
- /*< if (nodplc(icode+ifld)) 3900,3640,3650 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L3900;
- } else if (i_1 == 0) {
- goto L3640;
- } else {
- goto L3650;
- }
- /*< 3650 call outdef(ifld,ktype,loct,ltype) >*/
- L3650:
- outdef_(&ifld, &ktype, &loct, <ype);
- /*< if (igoof.ne.0) go to 3970 >*/
- if (flags_1.igoof != 0) {
- goto L3970;
- }
- /*< if (iprpl.eq.0) go to 3660 >*/
- if (iprpl == 0) {
- goto L3660;
- }
- /*< plimlo=0.0d0 >*/
- plimlo = 0.;
- /*< plimhi=0.0d0 >*/
- plimhi = 0.;
- /*< if (nodplc(icode+ifld+1).ne.0) go to 3660 >*/
- if (nodplc[tabinf_1.icode + ifld] != 0) {
- goto L3660;
- }
- /*< if (nodplc(icode+ifld+2).ne.0) go to 3660 >*/
- if (nodplc[tabinf_1.icode + ifld + 1] != 0) {
- goto L3660;
- }
- /*< plimlo=value(ifield+ifld+1) >*/
- plimlo = blank_1.value[tabinf_1.ifield + ifld];
- /*< plimhi=value(ifield+ifld+2) >*/
- plimhi = blank_1.value[tabinf_1.ifield + ifld + 1];
- /*< ifld=ifld+2 >*/
- ifld += 2;
- /*< 3660 numout=numout+1 >*/
- L3660:
- ++outinf_1.numout;
- /*< lspot=loc+2*numout+2 >*/
- lspot = loc + (outinf_1.numout << 1) + 2;
- /*< nodplc(lspot)=loct >*/
- nodplc[lspot - 1] = loct;
- /*< nodplc(lspot+1)=ltype >*/
- nodplc[lspot] = ltype;
- /*< if (iprpl.eq.0) go to 3670 >*/
- if (iprpl == 0) {
- goto L3670;
- }
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< lspot=locv+2*numout-1 >*/
- lspot = locv + (outinf_1.numout << 1) - 1;
- /*< value(lspot)=plimlo >*/
- blank_1.value[lspot - 1] = plimlo;
- /*< value(lspot+1)=plimhi >*/
- blank_1.value[lspot] = plimhi;
- /*< 3670 if (numout.eq.8) go to 3900 >*/
- L3670:
- if (outinf_1.numout == 8) {
- goto L3900;
- }
- /*< go to 3640 >*/
- goto L3640;
- /*< 3900 nodplc(loc+3)=numout >*/
- L3900:
- nodplc[loc + 2] = outinf_1.numout;
- /*< if (iprpl.eq.0) go to 6000 >*/
- if (iprpl == 0) {
- goto L6000;
- }
- /* ... propogate plot limits downward */
- /*< if (numout.le.1) go to 6000 >*/
- if (outinf_1.numout <= 1) {
- goto L6000;
- }
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< lspot=locv+2*numout-1 >*/
- lspot = locv + (outinf_1.numout << 1) - 1;
- /*< plimlo=value(lspot) >*/
- plimlo = blank_1.value[lspot - 1];
- /*< plimhi=value(lspot+1) >*/
- plimhi = blank_1.value[lspot];
- /*< i=numout-1 >*/
- i = outinf_1.numout - 1;
- /*< 3905 lspot=lspot-2 >*/
- L3905:
- lspot += -2;
- /*< if (value(lspot).ne.0.0d0) go to 3910 >*/
- if (blank_1.value[lspot - 1] != 0.) {
- goto L3910;
- }
- /*< if (value(lspot+1).ne.0.0d0) go to 3910 >*/
- if (blank_1.value[lspot] != 0.) {
- goto L3910;
- }
- /*< value(lspot)=plimlo >*/
- blank_1.value[lspot - 1] = plimlo;
- /*< value(lspot+1)=plimhi >*/
- blank_1.value[lspot] = plimhi;
- /*< go to 3920 >*/
- goto L3920;
- /*< 3910 plimlo=value(lspot) >*/
- L3910:
- plimlo = blank_1.value[lspot - 1];
- /*< plimhi=value(lspot+1) >*/
- plimhi = blank_1.value[lspot];
- /*< 3920 i=i-1 >*/
- L3920:
- --i;
- /*< if (i.ge.1) go to 3905 >*/
- if (i >= 1) {
- goto L3905;
- }
- /*< go to 6000 >*/
- goto L6000;
-
- /* errors */
-
- /*< 3950 write (iofile,3951) anam >*/
- L3950:
- io__63.ciunit = status_1.iofile;
- s_wsfe(&io__63);
- do_fio(&c__1, (char *)&anam, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 3951 format('0warning: unknown analysis mode: ',a8, >*/
- /*< 1 ' ... line ignored'/) >*/
- /*< go to 6000 >*/
- goto L6000;
- /*< 3970 write (iofile,3971) >*/
- L3970:
- io__64.ciunit = status_1.iofile;
- s_wsfe(&io__64);
- e_wsfe();
- /*< 3971 format('0warning: unrecognizable output variable on above line'/) >*/
- /*< igoof=0 >*/
- flags_1.igoof = 0;
- /*< go to 3640 >*/
- goto L3640;
-
- /* width card */
-
- /*< 4000 ifld=1 >*/
- L4000:
- ifld = 1;
- /*< 4010 ifld=ifld+1 >*/
- L4010:
- ++ifld;
- /*< if (nodplc(icode+ifld).ne.1) go to 6000 >*/
- if (nodplc[tabinf_1.icode + ifld - 1] != 1) {
- goto L6000;
- }
- /*< 4020 anam=value(ifield+ifld) >*/
- L4020:
- anam = blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if (anam.ne.ain) go to 4040 >*/
- if (anam != ain) {
- goto L4040;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld)) 6000,4030,4020 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L4030;
- } else {
- goto L4020;
- }
- /*< 4030 iwidth=value(ifield+ifld) >*/
- L4030:
- miscel_1.iwidth = (integer) blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< iwidth=min0(max0(iwidth,10),120) >*/
- /* Computing MAX */
- i_1 = max(miscel_1.iwidth,10);
- miscel_1.iwidth = min(120,i_1);
- /*< go to 4010 >*/
- goto L4010;
- /*< 4040 if (anam.ne.aout) go to 6000 >*/
- L4040:
- if (anam != aout) {
- goto L6000;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld)) 6000,4050,4020 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L4050;
- } else {
- goto L4020;
- }
- /*< 4050 lwidth=dmin1(dmax1(value(ifield+ifld),72.0d0),132.0d0) >*/
- L4050:
- /* Computing MAX */
- /* Computing MAX */
- d_2 = blank_1.value[tabinf_1.ifield + ifld - 1];
- d_1 = max(72.,d_2);
- miscel_1.lwidth = (integer) min(132.,d_1);
- /*< go to 4010 >*/
- goto L4010;
-
- /* nodeset statement */
-
- /*< 4100 ifld=1 >*/
- L4100:
- ifld = 1;
- /*< 4110 ifld=ifld+1 >*/
- L4110:
- ++ifld;
- /*< if(nodplc(icode+ifld)) 6000,4120,4110 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L4120;
- } else {
- goto L4110;
- }
- /*< 4120 nodnum=value(ifield+ifld) >*/
- L4120:
- nodnum = (integer) blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if(nodnum.le.0) go to 4190 >*/
- if (nodnum <= 0) {
- goto L4190;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if(nodplc(icode+ifld)) 4180,4130,4170 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L4180;
- } else if (i_1 == 0) {
- goto L4130;
- } else {
- goto L4170;
- }
- /*< 4130 call sizmem(nsnod,nic) >*/
- L4130:
- sizmem_(&tabinf_1.nsnod, &nic);
- /*< call extmem(nsnod,1) >*/
- extmem_(&tabinf_1.nsnod, &c__1);
- /*< call extmem(nsval,1) >*/
- extmem_(&tabinf_1.nsval, &c__1);
- /*< nodplc(nsnod+nic+1)=nodnum >*/
- nodplc[tabinf_1.nsnod + nic] = nodnum;
- /*< value(nsval+nic+1)=value(ifield+ifld) >*/
- blank_1.value[tabinf_1.nsval + nic] = blank_1.value[tabinf_1.ifield +
- ifld - 1];
- /*< go to 4110 >*/
- goto L4110;
-
- /* errors on .nodeset statement */
-
- /*< 4170 write(iofile,4171) value(ifield+ifld) >*/
- L4170:
- io__67.ciunit = status_1.iofile;
- s_wsfe(&io__67);
- do_fio(&c__1, (char *)&blank_1.value[tabinf_1.ifield + ifld - 1], (ftnlen)
- sizeof(doublereal));
- e_wsfe();
- /*< 4171 format('0warning: out-of-place non-numeric field ',a8, >*/
- /*< 1 ' skipped'/) >*/
- /*< go to 4110 >*/
- goto L4110;
- /*< 4180 write(iofile,4181) nodnum >*/
- L4180:
- io__68.ciunit = status_1.iofile;
- s_wsfe(&io__68);
- do_fio(&c__1, (char *)&nodnum, (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 4181 format('0warning: initial value missing for node ',i5,/) >*/
- /*< go to 6000 >*/
- goto L6000;
- /*< 4190 write(iofile,4191) >*/
- L4190:
- io__69.ciunit = status_1.iofile;
- s_wsfe(&io__69);
- e_wsfe();
- /*< 4191 format('0warning: attempt to specify initial condition for ', >*/
- /*< 1 'ground ingnored',/) >*/
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if(nodplc(icode+ifld)) 6000,4110,4170 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L4110;
- } else {
- goto L4170;
- }
-
- /* initial conditions statement */
-
- /*< 4200 ifld=1 >*/
- L4200:
- ifld = 1;
- /*< 4210 ifld=ifld+1 >*/
- L4210:
- ++ifld;
- /*< if(nodplc(icode+ifld)) 6000,4220,4210 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L4220;
- } else {
- goto L4210;
- }
- /*< 4220 nodnum=value(ifield+ifld) >*/
- L4220:
- nodnum = (integer) blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if(nodnum.le.0) go to 4290 >*/
- if (nodnum <= 0) {
- goto L4290;
- }
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if(nodplc(icode+ifld)) 4280,4230,4270 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L4280;
- } else if (i_1 == 0) {
- goto L4230;
- } else {
- goto L4270;
- }
- /*< 4230 call sizmem(icnod,nic) >*/
- L4230:
- sizmem_(&tabinf_1.icnod, &nic);
- /*< call extmem(icnod,1) >*/
- extmem_(&tabinf_1.icnod, &c__1);
- /*< call extmem(icval,1) >*/
- extmem_(&tabinf_1.icval, &c__1);
- /*< nodplc(icnod+nic+1)=nodnum >*/
- nodplc[tabinf_1.icnod + nic] = nodnum;
- /*< value(icval+nic+1)=value(ifield+ifld) >*/
- blank_1.value[tabinf_1.icval + nic] = blank_1.value[tabinf_1.ifield +
- ifld - 1];
- /*< go to 4210 >*/
- goto L4210;
-
- /* errors on .ic statement */
-
- /*< 4270 write(iofile,4271) value(ifield+ifld) >*/
- L4270:
- io__70.ciunit = status_1.iofile;
- s_wsfe(&io__70);
- do_fio(&c__1, (char *)&blank_1.value[tabinf_1.ifield + ifld - 1], (ftnlen)
- sizeof(doublereal));
- e_wsfe();
- /*< 4271 format('0warning: out-of-place non-numeric field ',a8, >*/
- /*< 1 ' skipped'/) >*/
- /*< go to 4210 >*/
- goto L4210;
- /*< 4280 write(iofile,4281) nodnum >*/
- L4280:
- io__71.ciunit = status_1.iofile;
- s_wsfe(&io__71);
- do_fio(&c__1, (char *)&nodnum, (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 4281 format('0warning: initial value missing for node ',i5,/) >*/
- /*< go to 6000 >*/
- goto L6000;
- /*< 4290 write(iofile,4291) >*/
- L4290:
- io__72.ciunit = status_1.iofile;
- s_wsfe(&io__72);
- e_wsfe();
- /*< 4291 format('0warning: attempt to specify initial condition for ', >*/
- /*< 1 'ground ignored',/) >*/
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if(nodplc(icode+ifld)) 6000,4210,4270 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L4210;
- } else {
- goto L4270;
- }
-
- /* :debug: statement */
- /* sample debug line: .:debug: 5=3 17=5 */
-
- /*< 5900 ifld=1 >*/
- L5900:
- ifld = 1;
- /*< 5910 ifld=ifld+1 >*/
- L5910:
- ++ifld;
- /*< if (nodplc(icode+ifld)) 6000,5920,5910 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L5920;
- } else {
- goto L5910;
- }
- /*< 5920 index=value(ifield+ifld) >*/
- L5920:
- index = (integer) blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< ifld=ifld+1 >*/
- ++ifld;
- /*< if (nodplc(icode+ifld)) 6000,5930,5910 >*/
- if ((i_1 = nodplc[tabinf_1.icode + ifld - 1]) < 0) {
- goto L6000;
- } else if (i_1 == 0) {
- goto L5930;
- } else {
- goto L5910;
- }
- /*< 5930 ival=value(ifield+ifld) >*/
- L5930:
- ival = (integer) blank_1.value[tabinf_1.ifield + ifld - 1];
- /*< if (index.lt.1) go to 5910 >*/
- if (index < 1) {
- goto L5910;
- }
- /*< if (index.gt.20) go to 5910 >*/
- if (index > 20) {
- goto L5910;
- }
- /*< write(iofile,5931) index,ival >*/
- io__75.ciunit = status_1.iofile;
- s_wsfe(&io__75);
- do_fio(&c__1, (char *)&index, (ftnlen)sizeof(integer));
- do_fio(&c__1, (char *)&ival, (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 5931 format(' *debug*: runcon - idebug(',i2,') set to ',i10) >*/
- /*< idebug(index)=ival >*/
- debug_1.idebug[index - 1] = ival;
- /*< go to 5910 >*/
- goto L5910;
-
- /* finished */
-
- /*< 6000 return >*/
- L6000:
- return 0;
- /*< end >*/
- } /* runcon_ */
-
- #undef contol
- #undef itrlim
- #undef limits
- #undef cvalue
- #undef nodplc
- #undef iprnt
- #undef dflts
- #undef aopts
- #undef aopt
- #undef ams
- #undef amiss
- #undef aout
- #undef ain
- #undef ablnk
- #undef auic
- #undef agear
- #undef atrap
- #undef alsli
- #undef alsoc
- #undef alsde
- #undef aide
-
-
-